
#include "qleval.h"



typedef struct FuncsArr
{
    size_t              allocated;
    size_t              size;
    FunctionAssoc *     arr;
} FuncsArr;

#define QL_FUNCS_ARR_GROW_SIZE  16


struct EvalContext
{
    AllocContext *      alloc_ctx;
    
    jmp_buf             err_trap;

    FuncsArr            funcs_arr;

    EvalErrorCallback   error_cb;

    ErrResult           last_err;

    EvalIdHandler       eval_id_cb;

    void *              eval_id_cb_tag;

    void *              tag;
};
